1. Field of the Invention
The present invention relates to the field of personal computers which access files on network drives and which utilize electronic mail systems. Specifically, the present invention involves the synchronization of the local copies of files on multiple mobile users"" client computer hard disks to the current versions of the files on a network drive using only a single connection to the network drive.
2. Discussion of the Related Art
As more and more business information moves from analog to digital formats, the relatively newfound ability to create, amend, and revise information spontaneously and frequently has brought with it challenges for corporate users. Revenue results can now be easily aggregated and updated in near real time, sales presentations can be amended regularly, and changes made to business documents. However, causing these changes to effectively trickle down through the organization without causing a digital flood is a challenge.
Companies have responded to the threat by carefully creating structures for organizing, storing, and sharing these electronic files. Organizations have moved from file servers to intranet sites to combinations of both to meet the need of the corporate user. While these structures are clearly effective means of storing, sharing, and organizing information, they do not address the fact that users have very individual information needs. They also do not resolve the obstacle users face who do not have the time to spend looking for changes. An effective paradigm for addressing the problem of individual needs and delivering changes to documents can be found in the emerging category of xe2x80x9cPush Technology.xe2x80x9d
As its simplest definition, push is the process of automatically delivering user-requested information electronically. It is not an application, but merely a function or feature in a product. There are clear distinctions between the three different categories of push-based application: content, software, and document.
Content push is the first mover. Conventional products focus on delivering breaking news and information to user desktops automatically. Instead of the user constantly surfing multiple Web sites for stock quotes, news, weather, etc., conventional products aggregate and broadcast information automatically according to individual user preferences. Many companies incorporate xe2x80x9cpushxe2x80x9d functionality into their products.
Following acceptance by hundreds of thousands of early adopters, many push-based applications started the move into the corporate world. For IS Managers, xe2x80x9cpush-based technologiesxe2x80x9d were seen as an uncontrollable avenue for terabytes of graphics and HTML to come through the corporate firewall and network, filling local hard drives.
Microsoft and Netscape entered the fray with their own xe2x80x9cpushxe2x80x9d clients andmdash; IE 4.0 Active Desktop and Communicator""s Netcaster, respectively. Rather than spurring the growth of content delivery, however, the effect of the push entries has been to call into question the value of delivering Web content to user hard drives. The value is questioned not only in terms of relevance, but also its effects and load on corporate networks. The automated information flow becomes a flood through the Internet gate-ways of corporations threatening the stability and reliability of the network infrastructure itself.
Within the corporate world, the future of content push remains in limbo. Uncertainty over standards and overall value have caused the market to trip on the initial momentum and slow to a crawl. However, what is questioned here is not the value of automating delivery or xe2x80x9cpush,xe2x80x9d but rather the value of what is being pushed.
Software Push is another important objective. Microsoft and Marimba, among others, have recognized the importance and potential of xe2x80x9cElectronic Software Distributionxe2x80x9d (ESL) or xe2x80x9csoftware pushxe2x80x9d as a way of addressing the need to seamlessly deliver software updates across the network with the goal of directly impacting the total cost of ownership. The requirements for software distribution are dramatically different from content distribution. For one, the xe2x80x9ccontentxe2x80x9d in software delivery is, by its very nature, deemed critical. To reduce the impact of supporting multiple versions of products across the corporate network, near-simultaneous deployment is imperative. Companies that do not use some form of software push technologies require dedicated individuals to make the rounds updating software by reinstalling or applying patches for each personal computer and laptop.
Rather than aggregating and displaying information, software push transparently delivers one specific piece of information and applies it to user systems or applications. Files tend to be very large and the delivery of these files must be well-managed. Incremental downloading becomes important to reduce frustration and bandwidth associated with broken and lost connections. Management of software updating also needs to be centralized and MIS-controlled. In addition, the primary value of the application is to IS personnel and only indirectly to for the end-users.
A good example of software push is Marimba""s Castanet, which allows Java applications to be distributed and updated seamlessly and automatically without user intervention. This same approach to Java programming can be, and is being, applied to C-language programs as well. The case of content push vs. software push makes it clear that the importance lies in the distinction between the data being delivered andmdash; and not the delivery mechanism itself.
The Next Phase is Electronic Document Delivery. The final frontier in digital push is xe2x80x9celectronic document deliveryxe2x80x9d or EDD. It deals with delivering changes or xe2x80x9cupdatesxe2x80x9d to the same physical files (like software push), but the files themselves are highly personalized (like content push). Different from content push, these files exist in the form of sales presentations (PowerPoint), spreadsheets (Excel and Lotus 1,2,3), and reports and plans (Word or WordPerfect). These are the types of documents for which companies currently invest millions of dollars in file servers and intranet technologies in order to share among respective workgroups. The important distinction here between content and document push is the fact that EDD delivers data that currently exists in its native format within corporations and whose value is clearly understood by the company, MIS, and the end-user. With the recognized features, the willingness to invest in infrastructure is more likely.
Within conventional environments, users have access to files and can download or copy them on-demand, whenever they are aware that the network file document changes. File servers and intranet servers act as document repositories waiting passively to be accessed. The reality is that these files change erratically and the user can never really know when a file has changed. As a result, those who need to have the most current documents are required to perform hit-and-miss network browsing and checking which is time-consuming, unproductive, and frustrating. Even if the changes are scheduled, the user is still required to manually access, retrieve and manage those changes.
For mobile users, the problem of knowing about and accessing changes to network-based files is compounded by infrequent access to the corporate network. In addition, when remote from the office, users need to establish connections to the network via dial-up networking technologies, then search and browse the network over an often slow, unreliable connection. The productivity losses and frustrations are simply multiplied. The demands on network modem resources and network bandwidth is compounded by multiple mobile users all dialing in to attempt to retrieve the current versions of the files that they are concerned with. Many mobile users are unable to connect to the appropriate network drives for all of their files depending upon their location, or are unable to maintain a connection for long enough to download the files with which they are concerned.
As is apparent from the above discussion, a need exists for an efficient and effective mechanism for allowing, multiple mobile computers to receive copies of the current versions of network files on their respect client computers.
Conventionally, those who need to have the most current versions of computer files are required to perform hit-and-miss network browsing and checking which is time-consuming, unproductive, and frustrating. An object of the present invention is to provide a mechanism by which multiple users can be automatically provided with current versions of the files to which they subscribe without each user connecting to the network. Another object of the present invention is allow users to select their subscription files to be monitored by the server computer. According to the present invention, a server computer with a single connection to the network monitors multiple users"" network files and folders stored on the network for changes and then sends the multiple users email notifications and updates when monitored items change.
According to the present invention, a server computer updates client computers"" copies of subscription files stored on a network. Thus, the need for multiple connections to the network by each of the client computers is eliminated. The server computer retrieves a database record from a subscription database. The database record includes at least client computer and subscription file information. The client computer information preferably includes the user""s electronic mail address. The subscription file information indicates the network file for which the user is interested in receiving updates. The server computer checks the subscription file stored on the network for any changes which may have occurred to the file since the previous checking of the subscription file preferably by comparing the last save time stamp to a time stamp on the subscription file stored on the network. Additionally according to the preferred embodiment of the present invention, the server computer compares a current CRC of the subscription file to a previous CRC of the subscription file, and compares a current file size of the subscription file to a previous file size of the subscription file. Alternatively, a previous version subscription file signature is compared to a current version subscription file signature to determine if the subscription file has changed. If changes have occurred, the server computer creates an update file for the client computer and transmits the update file to the client computer, preferably by electronic mail.
According to another aspect of the present invention, each database record may further contain a check interval indicating the periodicity of the checking of the subscription file for changes. The check interval is preferably determined by the user, so that critical subscription files are updated frequently, while less important subscription files are monitored less frequently. The database record may further contain a time last checked field which is updated each time the subscription file is checked for changes. The subscription file is checked for changes only when the current time is equal to or greater than the time last checked plus the check interval.
According to yet another aspect of the present invention, the subscription database is built by the server computer. The server computer receives subscription information from each client computer which includes at least the client computer and subscription file information, and this information is stored. The subscription information may alternatively further include the check interval. Although multiple users may subscribe to the same subscription files, the different multiple users may specify different check intervals, thus the same subscription file may be accessed by the server computer at various times to accommodate the updating of the multiple users. The subscription database is stored either on the server computer""s hard disk or on the network.